{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "\n",
    "import arviz as az\n",
    "import bambi as bmb\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import scipy.stats as stats\n",
    "import seaborn as sns\n",
    "\n",
    "from matplotlib.lines import Line2D\n",
    "\n",
    "warnings.simplefilter(action='ignore', category=FutureWarning)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Zero inflated models\n",
    "\n",
    "In this notebook, we will describe zero inflated outcomes and why the data generating process behind these outcomes requires a special class of generalized linear models: zero-inflated Poisson (ZIP) and hurdle Poisson. Subsequently, we will describe and implement each model using a set of zero-inflated data from ecology. Along the way, we will also use the `interpret` sub-package to interpret the predictions and parameters of the models."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Zero inflated outcomes\n",
    "\n",
    "Sometimes, an observation is not generated from a single process, but from a _mixture_ of processes. Whenever there is a mixture of processes generating an observation, a mixture model may be more appropriate. A mixture model uses more than one probability distribution to model the data. Count data are more susceptible to needing a mixture model as it is common to have a large number of zeros **and** values greater than zero.  A zero means \"nothing happened\", and this can be either because the rate of events is low, or because the process that generates the events was never \"triggered\". For example, in health service utilization data (the number of times a patient used a service during a given time period), a large number of zeros represents patients with no utilization during the time period. However, some patients do use a service which is a result of some \"triggered process\". \n",
    "\n",
    "There are two popular classes of models for modeling zero-inflated data: (1) ZIP, and (2) hurdle Poisson. First, the ZIP model is described and how to implement it in Bambi is outlined. Subsequently, the hurdle Poisson model and how to implement it is outlined thereafter."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Zero inflated Poisson\n",
    "\n",
    "To model zero-inflated outcomes, the ZIP model uses a distribution that mixes two data generating processes. The first process generates zeros, and the second process uses a Poisson distribution to generate counts (of which some may be zero). The result of this mixture is a distribution that can be described as\n",
    "\n",
    "$$P(Y=0) = (1 - \\psi) + \\psi e^{-\\mu}$$\n",
    "\n",
    "$$P(Y=y_i) = \\psi \\frac{e^{-\\mu} \\mu_{i}^y}{y_{i}!} \\ \\text{for} \\ y_i = 1, 2, 3,...,n$$\n",
    "\n",
    "where $y_i$ is the outcome, $\\mu$ is the mean of the Poisson process where $\\mu \\ge 0$, and $\\psi$ is the probability of the Poisson process where $0 \\lt \\psi \\lt 1$. To understand how these two processes are \"mixed\", let's simulate some data using the two process equations above (taken from the PyMC [docs](https://www.pymc.io/projects/docs/en/latest/api/distributions/generated/pymc.ZeroInflatedPoisson.html))."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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NYqKijBy5EgAmtWJ169fx4gRIxAaGoqioiK8/fbbkEqluPvuuwEAL7zwAjZv3owxY8Zg+fLlCA8Pxw8//IB169bhmWeeMZiLaC8jR47E/fffjwULFqCkpARDhgzRrcrs378/pkyZAkCzHczLL7+MV155BZWVlXjsscegUChw7tw55OfnY9myZXB3d8c777yDadOmobCwEI888gj8/f2Rl5eHkydPIi8vD+vXr0dxcTHuueceTJ48GT179oSHhweOHj2K3bt3Y8KECQAsex+I7MJuyw6I2iDtCraGjvorA2tqaoQ33nhD6Nevn+Ds7Cy4u7sLPXv2FJ5++mnh4sWLunq3r56s7/Tp08K4ceMEhUIhyGQyoV+/fsLGjRstitnUqszXX3/doC4AYcmSJbrbjVmV+d133+meY0hIiPD3v/9d+N///icAEPbt26erV1hYKDzyyCOCl5eXIBKJhPq/pix9rZRKpfDiiy8K/v7+grOzs3DnnXcKycnJQnh4uMWrMufMmdNgvR07dgiDBw8WnJ2dBTc3N2HEiBHCr7/+qlfn9lWZf/zxh/DYY48JXbp0EVxcXASFQiEMGjRI2LRpk+6c77//XkhISBBCQkIEmUwm+Pv7C6NHjxYOHTqk13Z6erowefJkwcfHR5BKpUKPHj2E119/XW+laGPeT2O0P9NffPGF2XraVZl5eXkG91VWVgoLFiwQwsPDBalUKgQFBQnPPPOMcPPmTYO6mzdvFgYOHKh7f/v372/ws3zgwAFhzJgxgre3tyCVSoWQkBBhzJgxuhirqqqEWbNmCXfccYfg6ekpuLi4CD169BCWLFkilJeXC4Jg2ftAZA8iQajXD09EREREdsM5ZkREREQOgokZERERkYNgYkZERETkIJiYERERETkIJmZEREREDoKJGREREZGDaJcbzKrVamRlZcHDw8PoJW6IiIiIrEkQBJSWliI4OBhisel+sXaZmGVlZZm8FhsRERGRrVy7dg2hoaEm72+XiZn2YsfXrl2z2iVaiIiIiEwpKSlBWFiYLgcxpV0mZtrhS09PTyZmRERE1GIamkLFyf9EREREDoKJGREREZGDaJdDmTanVgHph4GyG4B7ABAeB4gl9o6KiIiIHBwTM2s7txPYvQAoybpV5hkMjHoN6P2A/eIiImqnVCoVampq7B0GtXESiQROTk7N3oaLiZk1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T729vbF06VI8/PDDCAoKwtWrV/Hyyy/D19cXDz30kB2jJnPmzJmDTz/9FN9++y08PDx0PWMKhQIuLi4QiURt/7Nq1zWhbdTatWuF8PBwQSaTCQMGDNAt86XWadKkSUJQUJAglUqF4OBgYcKECcLZs2ftHRY10r59+wQABse0adMEQdAsw1+yZIkQGBgoyOVyYdiwYcLp06ftGzSZZe49raioEOLj4wU/Pz9BKpUKHTt2FKZNmyZkZGTYO2wyw9j7CUDYuHGjrk5b/6yKBEEQWj4dJCIiIqLbcY4ZERERkYNgYkZERETkIJiYERERETkIJmZEREREDoKJGREREZGDYGJGRERE5CCYmBERERE5CCZmRERERA6CiRkRERGRg2BiRkREROQgmJgREREROQgmZkREZlRVVaF///7o2rUriouLdeU5OTkIDAzE8OHDoVKp7BghEbUlTMyIiMxwdnbG559/jtzcXPz1r38FAKjVajz++OMQBAHbtm2DRCKxc5RE1FY42TsAIiJH161bN3zwwQeYNGkS3n77bRQWFmL//v3YvXs3goKC7B0eEbUhIkEQBHsHQUTUGsyePRsffPABVCoVXn75Zbzyyiv2DomI2hgmZkREFjp27BgGDhwImUyG69evw8/Pz94hEVEbw8SMiMgC5eXliImJgVqtxo0bN3D33Xfj22+/tXdYRNTGcPI/EZEFZs2ahYyMDHz99df48MMPsXPnTrz11lv2DouI2hgmZkREDfjggw+wZcsWrF27Fn369MHDDz+MZ599FgsWLMDvv/9u7/CIqA3hUCYRkRmnT5/G4MGDMXHiRGzatElXrlQqMWTIEBQUFCAlJQVeXl52i5GI2g4mZkREREQOgkOZRERERA6CiRkRERGRg2BiRkREROQgmJgREREROQgmZkREREQOgokZERERkYNgYkZERETkIJiYERERETkIJmZEREREDoKJGREREZGDYGJGRERE5CD+H7oYUT8ZmN3JAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 700x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.arange(0, 22)\n",
    "psis = [0.7, 0.4]\n",
    "mus = [10, 4]\n",
    "plt.figure(figsize=(7, 3))\n",
    "for psi, mu in zip(psis, mus):\n",
    "    pmf = stats.poisson.pmf(x, mu)\n",
    "    pmf[0] = (1 - psi) + pmf[0] # 1.) generate zeros\n",
    "    pmf[1:] =  psi * pmf[1:] # 2.) generate counts\n",
    "    pmf /= pmf.sum() # normalize to get probabilities\n",
    "    plt.plot(x, pmf, '-o', label='$\\\\psi$ = {}, $\\\\mu$ = {}'.format(psi, mu))\n",
    "\n",
    "plt.title(\"Zero Inflated Poisson Process\")\n",
    "plt.xlabel('x', fontsize=12)\n",
    "plt.ylabel('f(x)', fontsize=12)\n",
    "plt.legend(loc=1)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice how the blue line, corresponding to a higher $\\psi$ and $\\mu$, has a higher rate of counts and less zeros. Additionally, the inline comments above describe the first and second process generating the data."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ZIP regression model\n",
    "\n",
    "The equations above only describe the ZIP distribution. However, predictors can be added to make this a regression model. Suppose we have a response variable $Y$, which represents the number of events that occur during a time period, and $p$ predictors $X_1, X_2, ..., X_p$. We can model the parameters of the ZIP distribution as a linear combination of the predictors.\n",
    "\n",
    "$$Y_i \\sim \\text{ZIPoisson}(\\mu_i, \\psi_i)$$\n",
    "\n",
    "$$g(\\mu_i) = \\beta_0 + \\beta_1 X_{1i} + ... + \\beta_p X_{pi}$$\n",
    "\n",
    "$$h(\\psi_i) = \\alpha_0 + \\alpha_1 X_{1i} + ... + \\alpha_p X_{pi}$$\n",
    "\n",
    "where $g$ and $h$ are the link functions for each parameter. Bambi, by default, uses the log link for $g$ and the logit link for $h$. Notice how there are two linear models and two link functions: one for each parameter in the $\\text{ZIPoisson}$. The parameters of the linear model differ, because any predictor such as $X$ may be associated differently with each part of the mixture. Actually, you don't even need to use the same predictors in both linear models—but this beyond the scope of this notebook."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### The fish dataset\n",
    "\n",
    "To demonstrate the ZIP regression model, we model and predict how many fish are caught by visitors at a state park using survey [data](https://stats.idre.ucla.edu/stat/data/fish.csv). Many visitors catch zero fish, either because they did not fish at all, or because they were unlucky. The dataset contains data on 250 groups that went to a state park to fish. Each group was questioned about how many fish they caught (`count`), how many children were in the group (`child`), how many people were in the group (`persons`), if they used a live bait (`livebait`) and whether or not they brought a camper to the park (`camper`)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "fish_data = pd.read_csv(\"https://stats.idre.ucla.edu/stat/data/fish.csv\")\n",
    "cols = [\"count\", \"livebait\", \"camper\", \"persons\", \"child\"]\n",
    "fish_data = fish_data[cols]\n",
    "fish_data[\"livebait\"] = pd.Categorical(fish_data[\"livebait\"])\n",
    "fish_data[\"camper\"] = pd.Categorical(fish_data[\"camper\"])\n",
    "fish_data = fish_data[fish_data[\"count\"] < 60] # remove outliers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>livebait</th>\n",
       "      <th>camper</th>\n",
       "      <th>persons</th>\n",
       "      <th>child</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   count livebait camper  persons  child\n",
       "0      0        0      0        1      0\n",
       "1      0        1      1        1      0\n",
       "2      0        1      0        1      0\n",
       "3      0        1      1        2      1\n",
       "4      1        1      0        1      0"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fish_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm0AAAEmCAYAAAAwfKeMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAMDRJREFUeJzt3XtUlPW+x/HPCAiKgII6wySiJVpe0lIzsRJTMUur5SkrrWOny7LtlbQss5LMQK1NlGZt9ym1TG2dtdXc+3QR07RiV4qSl8q8oJJCbJMYvIHK7/zhYXYTqIADwwPv11rP0uf3/J5nvr/5gX7Wc5mxGWOMAAAAUKs18HUBAAAAuDhCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFuDv6wJqg5KSEh0+fFghISGy2Wy+LgcAANRhxhgVFhbK6XSqQYOKnz8jtEk6fPiwoqKifF0GAACoR7Kzs9WqVasK9ye0SQoJCZF07s0LDQ31cTUAAKAuc7lcioqKcuePiiK0Se5LoqGhoYQ2AABQIyp7SxYPIgAAAFgAoQ0AAMACCG0AAAAWQGgDAACwAEIbAACABRDaAAAALIDQBgAAYAE+DW0bN27U0KFD5XQ6ZbPZtGrVqvP2HT16tGw2m1JTUz3ai4qKNH78eDVv3lzBwcG6/fbb9fPPP1dv4VV05MgR7du3r8LLkSNHfF0yAACoJXz64brHjx9X165d9V//9V/6j//4j/P2W7Vqlb755hs5nc4y2xISEvT3v/9dy5cvV0REhCZPnqwhQ4YoIyNDfn5+1Vl+pRw5ckRXtGsnV0FBhfcJDQvT3j171Lx582qsDAAAWIFPQ9vgwYM1ePDgC/Y5dOiQxo0bp08//VS33Xabx7aCggK9/fbbeu+99zRgwABJ0pIlSxQVFaW1a9dq0KBB1VZ7ZblcLrkKCtRv0jw1DrdftP+Jo79ofco4uVwuQhsAAKjdX2NVUlKiBx54QE8++aQ6depUZntGRoZOnz6t+Ph4d5vT6VTnzp2Vnp5+3tBWVFSkoqIi97rL5fJ+8efRONyuJi0uq7HXAwAAdUOtfhBh9uzZ8vf314QJE8rdnpubq4YNG6pZs2Ye7Xa7Xbm5uec9bnJyssLCwtxLVFSUV+sGAADwtlob2jIyMvTaa69p0aJFlf5CVWPMBfeZOnWqCgoK3Et2dvallgsAAFCtam1o++KLL5SXl6fWrVvL399f/v7+OnDggCZPnqw2bdpIkhwOh4qLi5Wfn++xb15enuz28983FhgYqNDQUI8FAACgNqu1oe2BBx7Qtm3blJmZ6V6cTqeefPJJffrpp5Kk7t27KyAgQGlpae79cnJytGPHDsXGxvqqdAAAAK/z6YMIx44d0549e9zrWVlZyszMVHh4uFq3bq2IiAiP/gEBAXI4HOrQoYMkKSwsTA8//LAmT56siIgIhYeH64knnlCXLl3cT5MCAADUBT4NbZs3b1a/fv3c65MmTZIkjRo1SosWLarQMV599VX5+/tr+PDhOnnypPr3769FixbVqs9oAwAAuFQ+DW1xcXEyxlS4//79+8u0BQUFae7cuZo7d64XKwMAAKhdau09bQAAAPg3QhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAYQ2AAAACyC0AQAAWAChDQAAwAIIbQAAABZAaAMAALAAQhsAAIAFENoAAAAsgNAGAABgAT4NbRs3btTQoUPldDpls9m0atUq97bTp0/rqaeeUpcuXRQcHCyn06n//M//1OHDhz2OUVRUpPHjx6t58+YKDg7W7bffrp9//rmGRwIAAFC9fBrajh8/rq5du2revHlltp04cUJbtmzRc889py1btmjFihX66aefdPvtt3v0S0hI0MqVK7V8+XJ9+eWXOnbsmIYMGaKzZ8/W1DAAAACqnb8vX3zw4MEaPHhwudvCwsKUlpbm0TZ37lxdd911OnjwoFq3bq2CggK9/fbbeu+99zRgwABJ0pIlSxQVFaW1a9dq0KBB1T4GAACAmmCpe9oKCgpks9nUtGlTSVJGRoZOnz6t+Ph4dx+n06nOnTsrPT39vMcpKiqSy+XyWAAAAGozy4S2U6dO6emnn9aIESMUGhoqScrNzVXDhg3VrFkzj752u125ubnnPVZycrLCwsLcS1RUVLXWDgAAcKksEdpOnz6te++9VyUlJZo/f/5F+xtjZLPZzrt96tSpKigocC/Z2dneLBcAAMDran1oO336tIYPH66srCylpaW5z7JJksPhUHFxsfLz8z32ycvLk91uP+8xAwMDFRoa6rEAAADUZrU6tJUGtt27d2vt2rWK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AADgqVKh7dZbb9Xzzz+vU6dOldl28uRJTZ8+XUOGDPFacQAAADinUqHt2Wef1dGjR9W+fXvNmTNHH374oVavXq3Zs2erQ4cOOnr0qKZNm+bVAg8dOqT7779fERERaty4sbp16+Zx35wxRomJiXI6nWrUqJHi4uK0c+dOr9YAAADga5X6nDa73a709HT96U9/0tSpU2WMkSTZbDYNGjRI8+fPl91u91px+fn56tOnj/r166ePP/5YLVu21N69e9W0aVN3nzlz5iglJUWLFi1S+/btNXPmTA0cOFC7du1SSEiI12oBAADwpUp/uG50dLQ++ugj5efna8+ePTLGKCYmRs2aNfN6cbNnz1ZUVJQWLlzobmvTpo3778YYpaamatq0aRo2bJgkafHixbLb7Vq6dKlGjx7t9ZoAAAB8oUpfYyVJzZo1U8+ePXXddddVS2CTpNWrV6tHjx66++671bJlS11zzTX661//6t6elZWl3NxcxcfHu9sCAwPVt29fpaenn/e4RUVFcrlcHgsAAEBtVuXQVhP27dunN998UzExMfr000/12GOPacKECXr33XclSbm5uZJU5pKs3W53bytPcnKywsLC3EtUVFT1DQIAAMALanVoKykp0bXXXqukpCRdc801Gj16tB599FG9+eabHv1sNpvHujGmTNvvTZ06VQUFBe4lOzu7WuoHAADwllod2iIjI9WxY0ePtquuukoHDx6UJDkcDkkqc1YtLy/vgg9EBAYGKjQ01GMBAACozWp1aOvTp4927drl0fbTTz8pOjpaktS2bVs5HA6lpaW5txcXF2vDhg2KjY2t0VoBAACqU6WfHq1Jjz/+uGJjY5WUlKThw4fr22+/1YIFC7RgwQJJ5y6LJiQkKCkpSTExMYqJiVFSUpIaN26sESNG+Lh6AAAA76nVoa1nz55auXKlpk6dqhkzZqht27ZKTU3VyJEj3X2mTJmikydPasyYMcrPz1evXr20Zs0aPqMNAADUKbU6tEnSkCFDLvjVWDabTYmJiUpMTKy5ogAAAGpYrb6nDQAAAOcQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYAAGABhDYAAAALILQBAABYAKENAADAAghtAAAAFkBoAwAAsABCGwAAgAUQ2gAAACyA0AYA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5513+roMoE4jtAHQgw8+KJvNplmzZnm0r1q1SjabzUdV+db06dMVHBysXbt26bPPPiu3T+n79sdlz549WrFihV588cVqrdHlcmnatGm68sorFRQUJIfDoQEDBmjFihWqjZ+b3qZNG6Wmpvq6DMCy/H1dAIDaISgoSLNnz9bo0aPVrFkzX5fjFcXFxWrYsGGV9t27d69uu+02RUdHX7DfLbfcooULF3q0tWjRQn5+flV63Yr67bffdMMNN6igoEAzZ85Uz5495e/vrw0bNmjKlCm6+eab1bRp02qtAUDN4kwbAEnSgAED5HA4lJycfN4+iYmJZS4Vpqamqk2bNu710stkSUlJstvtatq0qV544QWdOXNGTz75pMLDw9WqVSu98847ZY7/448/KjY2VkFBQerUqZM+//xzj+3ff/+9br31VjVp0kR2u10PPPCAjhw54t4eFxencePGadKkSWrevLkGDhxY7jhKSko0Y8YMtWrVSoGBgerWrZs++eQT93abzaaMjAzNmDFDNptNiYmJ531PAgMD5XA4PBY/P78ylzznz5+vmJgYBQUFyW6366677ipT05QpUxQeHi6Hw3HB15SkZ555Rvv379c333yjUaNGqWPHjmrfvr0effRRZWZmqkmTJpKkJUuWqEePHgoJCZHD4dCIESOUl5fnPs6iRYvKhLvyzrDOnDlTLVu2VEhIiB555BE9/fTT5V42fuWVVxQZGamIiAiNHTtWp0+flnRubg4cOKDHH3/cfUYSQOUQ2gBIkvz8/JSUlKS5c+fq559/vqRjrVu3TocPH9bGjRuVkpKixMREDRkyRM2aNdM333yjxx57TI899piys7M99nvyySc1efJkbd26VbGxsbr99tv166+/SpJycnLUt29fdevWTZs3b9Ynn3yiX375RcOHD/c4xuLFi+Xv76+vvvpKf/nLX8qt77XXXtOf//xnvfLKK9q2bZsGDRqk22+/Xbt373a/VqdOnTR58mTl5OToiSeeuKT3Y/PmzZowYYJmzJihXbt26ZNPPtFNN91Upu7g4GB98803mjNnjmbMmKG0tLRyj1dSUqLly5dr5MiRcjqdZbY3adJE/v7nLqQUFxfrxRdf1HfffadVq1YpKytLDz74YKXqf//99/XSSy9p9uzZysjIUOvWrfXmm2+W6bd+/Xrt3btX69ev1+LFi7Vo0SItWrRIkrRixQq1atVKM2bMUE5OjnJycipVAwBJ3vxGewDWNGrUKHPHHXcYY4y5/vrrzUMPPWSMMWblypXm9/9MTJ8+3XTt2tVj31dffdVER0d7HCs6OtqcPXvW3dahQwdz4403utfPnDljgoODzbJly4wxxmRlZRlJZtasWe4+p0+fNq1atTKzZ882xhjz3HPPmfj4eI/Xzs7ONpLMrl27jDHG9O3b13Tr1u2i43U6neall17yaOvZs6cZM2aMe71r165m+vTpFzzOqFGjjJ+fnwkODnYvd911l7uWiRMnGmOM+dvf/mZCQ0ONy+Uq9zh9+/Y1N9xwQ5l6nnrqqXL7//LLL0aSSUlJuWB95fn222+NJFNYWGiMMWbhwoUmLCzMo88f571Xr15m7NixHn369Onj8bNQOu9nzpxxt919993mnnvuca9HR0ebV199tdI1AziHM20APMyePVuLFy/W999/X+VjdOrUSQ0a/PufF7vdri5durjX/fz8FBER4XGZTpJ69+7t/ru/v7969OihH374QZKUkZGh9evXq0mTJu7lyiuvlHTu/rNSPXr0uGBtLpdLhw8fVp8+fTza+/Tp436tyujXr58yMzPdy+uvv16mz8CBAxUdHa3LL79cDzzwgN5//32dOHHCo8/VV1/tsR4ZGVnm/Sll/v8hg4pcYty6davuuOMORUdHKyQkRHFxcZKkgwcPVmR4kqRdu3bpuuuu82j747p0bt5/fy/fhcYAoPIIbQA83HTTTRo0aJCeeeaZMtsaNGhQ5qnE0nuWfi8gIMBj3WazldtWUlJy0XpKg0lJSYmGDh3qEZAyMzO1e/duj0uNwcHBFz3m749byhhTpfusgoOD1a5dO/cSGRlZpk9ISIi2bNmiZcuWKTIyUs8//7y6du2q3377zd2nMu9PixYt1KxZs4uGzOPHjys+Pl5NmjTRkiVLtGnTJq1cuVLSucumUsXntLz364+qOscAKobQBqCMWbNm6e9//7vS09M92lu0aKHc3FyP/7C9+dlqX3/9tfvvZ86cUUZGhvts2rXXXqudO3eqTZs2HiGpXbt2FQ5qkhQaGiqn06kvv/zSoz09PV1XXXWVdwZSDn9/fw0YMEBz5szRtm3btH//fq1bt65Kx2rQoIHuuecevf/++zp8+HCZ7cePH9eZM2f0448/6siRI5o1a5ZuvPFGXXnllWXOfLVo0UKFhYU6fvy4u+2Pc9qhQwd9++23Hm2bN2+udN0NGzbU2bNnK70fgHMIbQDK6NKli0aOHKm5c+d6tMfFxelf//qX5syZo7179+qNN97Qxx9/7LXXfeONN7Ry5Ur9+OOPGjt2rPLz8/XQQw9JksaOHaujR4/qvvvu07fffqt9+/ZpzZo1euihhyodBJ588knNnj1bH3zwgXbt2qWnn35amZmZmjhxotfG8nv/+Mc/9PrrryszM1MHDhzQu+++q5KSEnXo0KHKx0xKSlJUVJR69eqld999V99//712796td955R926ddOxY8fUunVrNWzYUHPnztW+ffu0evXqMp8d16tXLzVu3FjPPPOM9uzZo6VLl7ofHig1fvx4vf3221q8eLF2796tmTNnatu2bZU+M9mmTRtt3LhRhw4d8njqF0DFENoAlOvFF18scwnsqquu0vz58/XGG2+oa9eu+vbbby/5ycrfmzVrlmbPnq2uXbvqiy++0IcffqjmzZtLkpxOp7766iudPXtWgwYNUufOnTVx4kSFhYV53D9XERMmTNDkyZM1efJkdenSRZ988olWr16tmJgYr43l95o2baoVK1bo5ptv1lVXXaW33npLy5YtU6dOnap8zGbNmunrr7/W/fffr5kzZ+qaa67RjTfeqGXLlunll19WWFiYWrRooUWLFul//ud/1LFjR82aNUuvvPKKx3HCw8O1ZMkSffTRR+rSpYuWLVtW5uNGRo4cqalTp+qJJ57Qtdde634CNSgoqFI1z5gxQ/v379cVV1yhFi1aVHnsQH1lM+XdmAAAwAUMHDhQDodD7733nq9LAeoNvhEBAHBBJ06c0FtvvaVBgwbJz89Py5Yt09q1a8/7OXIAqgdn2gAAF3Ty5EkNHTpUW7ZsUVFRkTp06KBnn31Ww4YN83VpQL1CaAMAALAAHkQAAACwAEIbAACABRDaAAAALIDQBgAAYAGENgAAAAsgtAEAAFgAoQ0AAMACCG0AAAAWQGgDAACwgP8DWyHxczVLIbUAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 700x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Excess zeros, and skewed count\n",
    "plt.figure(figsize=(7, 3))\n",
    "sns.histplot(fish_data[\"count\"], discrete=True)\n",
    "plt.xlabel(\"Number of Fish Caught\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To fit a ZIP regression model, we pass `family=zero_inflated_poisson` to the `bmb.Model` constructor."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Initializing NUTS using jitter+adapt_diag...\n",
      "Multiprocess sampling (4 chains in 4 jobs)\n",
      "NUTS: [psi, Intercept, livebait, camper, persons, child]\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "96def1a3ca554514b7c08f800532557a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Sampling 4 chains for 1_000 tune and 1_000 draw iterations (4_000 + 4_000 draws total) took 3 seconds.\n"
     ]
    }
   ],
   "source": [
    "zip_model = bmb.Model(\n",
    "    \"count ~ livebait + camper + persons + child\", \n",
    "    fish_data, \n",
    "    family='zero_inflated_poisson'\n",
    ")\n",
    "\n",
    "zip_idata = zip_model.fit(\n",
    "    draws=1000, \n",
    "    target_accept=0.95, \n",
    "    random_seed=1234, \n",
    "    chains=4\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's take a look at the model components. Why is there only one linear model and link function defined for $\\mu$. Where is the linear model and link function for $\\psi$? By default, the \"main\" (or first) formula is defined for the parent parameter; in this case $\\mu$. Since we didn't pass an additional formula for the non-parent parameter $\\psi$, $\\psi$ was never modeled as a function of the predictors as explained above. If we want to model both $\\mu$ and $\\psi$ as a function of the predictor, we need to expicitly pass two formulas. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "       Formula: count ~ livebait + camper + persons + child\n",
       "        Family: zero_inflated_poisson\n",
       "          Link: mu = log\n",
       "  Observations: 248\n",
       "        Priors: \n",
       "    target = mu\n",
       "        Common-level effects\n",
       "            Intercept ~ Normal(mu: 0.0, sigma: 9.5283)\n",
       "            livebait ~ Normal(mu: 0.0, sigma: 7.2685)\n",
       "            camper ~ Normal(mu: 0.0, sigma: 5.0733)\n",
       "            persons ~ Normal(mu: 0.0, sigma: 2.2583)\n",
       "            child ~ Normal(mu: 0.0, sigma: 2.9419)\n",
       "        \n",
       "        Auxiliary parameters\n",
       "            psi ~ Beta(alpha: 2.0, beta: 2.0)\n",
       "------\n",
       "* To see a plot of the priors call the .plot_priors() method.\n",
       "* To see a summary or plot of the posterior pass the object returned by .fit() to az.summary() or az.plot_trace()"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zip_model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Initializing NUTS using jitter+adapt_diag...\n",
      "Multiprocess sampling (4 chains in 4 jobs)\n",
      "NUTS: [Intercept, livebait, camper, persons, child, psi_Intercept, psi_livebait, psi_camper, psi_persons, psi_child]\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "41ab7cf19f4748f58404579cdfa88d5a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Sampling 4 chains for 1_000 tune and 1_000 draw iterations (4_000 + 4_000 draws total) took 5 seconds.\n"
     ]
    }
   ],
   "source": [
    "formula = bmb.Formula(\n",
    "    \"count ~ livebait + camper + persons + child\", # parent parameter mu\n",
    "    \"psi ~ livebait + camper + persons + child\"    # non-parent parameter psi\n",
    ")\n",
    "\n",
    "zip_model = bmb.Model(\n",
    "    formula, \n",
    "    fish_data, \n",
    "    family='zero_inflated_poisson'\n",
    ")\n",
    "\n",
    "zip_idata = zip_model.fit(\n",
    "    draws=1000, \n",
    "    target_accept=0.95, \n",
    "    random_seed=1234, \n",
    "    chains=4\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "       Formula: count ~ livebait + camper + persons + child\n",
       "                psi ~ livebait + camper + persons + child\n",
       "        Family: zero_inflated_poisson\n",
       "          Link: mu = log\n",
       "                psi = logit\n",
       "  Observations: 248\n",
       "        Priors: \n",
       "    target = mu\n",
       "        Common-level effects\n",
       "            Intercept ~ Normal(mu: 0.0, sigma: 9.5283)\n",
       "            livebait ~ Normal(mu: 0.0, sigma: 7.2685)\n",
       "            camper ~ Normal(mu: 0.0, sigma: 5.0733)\n",
       "            persons ~ Normal(mu: 0.0, sigma: 2.2583)\n",
       "            child ~ Normal(mu: 0.0, sigma: 2.9419)\n",
       "    target = psi\n",
       "        Common-level effects\n",
       "            psi_Intercept ~ Normal(mu: 0.0, sigma: 1.0)\n",
       "            psi_livebait ~ Normal(mu: 0.0, sigma: 1.0)\n",
       "            psi_camper ~ Normal(mu: 0.0, sigma: 1.0)\n",
       "            psi_persons ~ Normal(mu: 0.0, sigma: 1.0)\n",
       "            psi_child ~ Normal(mu: 0.0, sigma: 1.0)\n",
       "------\n",
       "* To see a plot of the priors call the .plot_priors() method.\n",
       "* To see a summary or plot of the posterior pass the object returned by .fit() to az.summary() or az.plot_trace()"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zip_model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, both $\\mu$ and $\\psi$ are defined as a function of a linear combination of the predictors. Additionally, we can see that the log and logit link functions are defined for $\\mu$ and $\\psi$, respectively."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"1434pt\" height=\"349pt\"\n",
       " viewBox=\"0.00 0.00 1433.62 348.91\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 344.91)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-344.91 1429.62,-344.91 1429.62,4 -4,4\"/>\n",
       "<g id=\"clust1\" class=\"cluster\">\n",
       "<title>clusterlivebait_dim (1)</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M839.62,-218.95C839.62,-218.95 943.62,-218.95 943.62,-218.95 949.62,-218.95 955.62,-224.95 955.62,-230.95 955.62,-230.95 955.62,-320.91 955.62,-320.91 955.62,-326.91 949.62,-332.91 943.62,-332.91 943.62,-332.91 839.62,-332.91 839.62,-332.91 833.62,-332.91 827.62,-326.91 827.62,-320.91 827.62,-320.91 827.62,-230.95 827.62,-230.95 827.62,-224.95 833.62,-218.95 839.62,-218.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"891.62\" y=\"-226.75\" font-family=\"Times,serif\" font-size=\"14.00\">livebait_dim (1)</text>\n",
       "</g>\n",
       "<g id=\"clust2\" class=\"cluster\">\n",
       "<title>clustercamper_dim (1)</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M975.62,-218.95C975.62,-218.95 1079.62,-218.95 1079.62,-218.95 1085.62,-218.95 1091.62,-224.95 1091.62,-230.95 1091.62,-230.95 1091.62,-320.91 1091.62,-320.91 1091.62,-326.91 1085.62,-332.91 1079.62,-332.91 1079.62,-332.91 975.62,-332.91 975.62,-332.91 969.62,-332.91 963.62,-326.91 963.62,-320.91 963.62,-320.91 963.62,-230.95 963.62,-230.95 963.62,-224.95 969.62,-218.95 975.62,-218.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"1027.62\" y=\"-226.75\" font-family=\"Times,serif\" font-size=\"14.00\">camper_dim (1)</text>\n",
       "</g>\n",
       "<g id=\"clust3\" class=\"cluster\">\n",
       "<title>clusterpsi_livebait_dim (1)</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1111.62,-218.95C1111.62,-218.95 1242.62,-218.95 1242.62,-218.95 1248.62,-218.95 1254.62,-224.95 1254.62,-230.95 1254.62,-230.95 1254.62,-320.91 1254.62,-320.91 1254.62,-326.91 1248.62,-332.91 1242.62,-332.91 1242.62,-332.91 1111.62,-332.91 1111.62,-332.91 1105.62,-332.91 1099.62,-326.91 1099.62,-320.91 1099.62,-320.91 1099.62,-230.95 1099.62,-230.95 1099.62,-224.95 1105.62,-218.95 1111.62,-218.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"1177.12\" y=\"-226.75\" font-family=\"Times,serif\" font-size=\"14.00\">psi_livebait_dim (1)</text>\n",
       "</g>\n",
       "<g id=\"clust4\" class=\"cluster\">\n",
       "<title>clusterpsi_camper_dim (1)</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1274.62,-218.95C1274.62,-218.95 1405.62,-218.95 1405.62,-218.95 1411.62,-218.95 1417.62,-224.95 1417.62,-230.95 1417.62,-230.95 1417.62,-320.91 1417.62,-320.91 1417.62,-326.91 1411.62,-332.91 1405.62,-332.91 1405.62,-332.91 1274.62,-332.91 1274.62,-332.91 1268.62,-332.91 1262.62,-326.91 1262.62,-320.91 1262.62,-320.91 1262.62,-230.95 1262.62,-230.95 1262.62,-224.95 1268.62,-218.95 1274.62,-218.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"1340.12\" y=\"-226.75\" font-family=\"Times,serif\" font-size=\"14.00\">psi_camper_dim (1)</text>\n",
       "</g>\n",
       "<g id=\"clust5\" class=\"cluster\">\n",
       "<title>cluster__obs__ (248)</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M480.62,-8C480.62,-8 718.62,-8 718.62,-8 724.62,-8 730.62,-14 730.62,-20 730.62,-20 730.62,-198.95 730.62,-198.95 730.62,-204.95 724.62,-210.95 718.62,-210.95 718.62,-210.95 480.62,-210.95 480.62,-210.95 474.62,-210.95 468.62,-204.95 468.62,-198.95 468.62,-198.95 468.62,-20 468.62,-20 468.62,-14 474.62,-8 480.62,-8\"/>\n",
       "<text text-anchor=\"middle\" x=\"675.62\" y=\"-15.8\" font-family=\"Times,serif\" font-size=\"14.00\">__obs__ (248)</text>\n",
       "</g>\n",
       "<!-- child -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>child</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"170.62\" cy=\"-287.43\" rx=\"49.49\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"170.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">child</text>\n",
       "<text text-anchor=\"middle\" x=\"170.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"170.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- mu -->\n",
       "<g id=\"node11\" class=\"node\">\n",
       "<title>mu</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" points=\"590.62,-202.95 476.62,-202.95 476.62,-149.95 590.62,-149.95 590.62,-202.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"533.62\" y=\"-187.75\" font-family=\"Times,serif\" font-size=\"14.00\">mu</text>\n",
       "<text text-anchor=\"middle\" x=\"533.62\" y=\"-172.75\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"533.62\" y=\"-157.75\" font-family=\"Times,serif\" font-size=\"14.00\">Deterministic</text>\n",
       "</g>\n",
       "<!-- child&#45;&gt;mu -->\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>child&#45;&gt;mu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M191.4,-253.19C201.12,-240.42 213.83,-227 228.62,-218.95 268.44,-197.3 389.41,-186.12 466.5,-181.04\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"466.85,-184.53 476.6,-180.4 466.4,-177.54 466.85,-184.53\"/>\n",
       "</g>\n",
       "<!-- psi_child -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>psi_child</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"589.62\" cy=\"-287.43\" rx=\"55.72\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"589.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">psi_child</text>\n",
       "<text text-anchor=\"middle\" x=\"589.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"589.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- psi -->\n",
       "<g id=\"node12\" class=\"node\">\n",
       "<title>psi</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" points=\"722.62,-202.95 608.62,-202.95 608.62,-149.95 722.62,-149.95 722.62,-202.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"665.62\" y=\"-187.75\" font-family=\"Times,serif\" font-size=\"14.00\">psi</text>\n",
       "<text text-anchor=\"middle\" x=\"665.62\" y=\"-172.75\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"665.62\" y=\"-157.75\" font-family=\"Times,serif\" font-size=\"14.00\">Deterministic</text>\n",
       "</g>\n",
       "<!-- psi_child&#45;&gt;psi -->\n",
       "<g id=\"edge7\" class=\"edge\">\n",
       "<title>psi_child&#45;&gt;psi</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M612.83,-253.14C622,-240 632.53,-224.9 641.76,-211.67\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"644.76,-213.48 647.61,-203.28 639.02,-209.48 644.76,-213.48\"/>\n",
       "</g>\n",
       "<!-- Intercept -->\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>Intercept</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"296.62\" cy=\"-287.43\" rx=\"58.88\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"296.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">Intercept</text>\n",
       "<text text-anchor=\"middle\" x=\"296.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"296.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- Intercept&#45;&gt;mu -->\n",
       "<g id=\"edge5\" class=\"edge\">\n",
       "<title>Intercept&#45;&gt;mu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M322.81,-253.66C334.4,-241.12 348.95,-227.74 364.62,-218.95 395.65,-201.55 433.89,-191.38 466.14,-185.46\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"467.13,-188.84 476.39,-183.69 465.94,-181.95 467.13,-188.84\"/>\n",
       "</g>\n",
       "<!-- persons -->\n",
       "<g id=\"node4\" class=\"node\">\n",
       "<title>persons</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"51.62\" cy=\"-287.43\" rx=\"51.74\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"51.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">persons</text>\n",
       "<text text-anchor=\"middle\" x=\"51.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"51.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- persons&#45;&gt;mu -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>persons&#45;&gt;mu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M73.37,-253.25C83.66,-240.33 97.11,-226.77 112.62,-218.95 172.85,-188.58 363.41,-180.43 466.25,-178.25\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"466.59,-181.74 476.52,-178.04 466.45,-174.74 466.59,-181.74\"/>\n",
       "</g>\n",
       "<!-- psi_Intercept -->\n",
       "<g id=\"node5\" class=\"node\">\n",
       "<title>psi_Intercept</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"741.62\" cy=\"-287.43\" rx=\"77.56\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"741.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">psi_Intercept</text>\n",
       "<text text-anchor=\"middle\" x=\"741.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"741.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- psi_Intercept&#45;&gt;psi -->\n",
       "<g id=\"edge6\" class=\"edge\">\n",
       "<title>psi_Intercept&#45;&gt;psi</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M717.36,-251.65C708.47,-238.9 698.41,-224.48 689.55,-211.76\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"692.22,-209.48 683.63,-203.28 686.48,-213.48 692.22,-209.48\"/>\n",
       "</g>\n",
       "<!-- psi_persons -->\n",
       "<g id=\"node6\" class=\"node\">\n",
       "<title>psi_persons</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"444.62\" cy=\"-287.43\" rx=\"71.34\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"444.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">psi_persons</text>\n",
       "<text text-anchor=\"middle\" x=\"444.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"444.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- psi_persons&#45;&gt;psi -->\n",
       "<g id=\"edge9\" class=\"edge\">\n",
       "<title>psi_persons&#45;&gt;psi</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M475.06,-253.28C488.88,-240.36 506.24,-226.8 524.62,-218.95 555.45,-205.79 567.48,-220.47 599.62,-210.95 603.39,-209.84 607.21,-208.51 611,-207.03\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"612.48,-210.2 620.35,-203.1 609.77,-203.75 612.48,-210.2\"/>\n",
       "</g>\n",
       "<!-- livebait -->\n",
       "<g id=\"node7\" class=\"node\">\n",
       "<title>livebait</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"886.62\" cy=\"-287.43\" rx=\"49.49\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"886.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">livebait</text>\n",
       "<text text-anchor=\"middle\" x=\"886.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"886.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- livebait&#45;&gt;mu -->\n",
       "<g id=\"edge3\" class=\"edge\">\n",
       "<title>livebait&#45;&gt;mu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M866.49,-252.8C856.8,-239.8 843.94,-226.31 828.62,-218.95 805.67,-207.93 624.27,-217.31 599.62,-210.95 595.49,-209.89 591.32,-208.54 587.19,-206.99\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"588.26,-203.64 577.68,-203.07 585.59,-210.12 588.26,-203.64\"/>\n",
       "</g>\n",
       "<!-- camper -->\n",
       "<g id=\"node8\" class=\"node\">\n",
       "<title>camper</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"1020.62\" cy=\"-287.43\" rx=\"49.49\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"1020.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">camper</text>\n",
       "<text text-anchor=\"middle\" x=\"1020.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"1020.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- camper&#45;&gt;mu -->\n",
       "<g id=\"edge4\" class=\"edge\">\n",
       "<title>camper&#45;&gt;mu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M999.7,-253.38C989.39,-240.15 975.7,-226.31 959.62,-218.95 923.23,-202.31 638.42,-220.69 599.62,-210.95 595.3,-209.87 590.93,-208.46 586.62,-206.84\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"587.87,-203.57 577.29,-202.99 585.2,-210.04 587.87,-203.57\"/>\n",
       "</g>\n",
       "<!-- psi_livebait -->\n",
       "<g id=\"node9\" class=\"node\">\n",
       "<title>psi_livebait</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"1176.62\" cy=\"-287.43\" rx=\"69.09\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"1176.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">psi_livebait</text>\n",
       "<text text-anchor=\"middle\" x=\"1176.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"1176.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- psi_livebait&#45;&gt;psi -->\n",
       "<g id=\"edge10\" class=\"edge\">\n",
       "<title>psi_livebait&#45;&gt;psi</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1146.14,-253.54C1132.09,-240.5 1114.37,-226.78 1095.62,-218.95 1031.82,-192.32 836.9,-182.53 732.8,-179.13\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"732.82,-175.63 722.72,-178.81 732.6,-182.62 732.82,-175.63\"/>\n",
       "</g>\n",
       "<!-- psi_camper -->\n",
       "<g id=\"node10\" class=\"node\">\n",
       "<title>psi_camper</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"1339.62\" cy=\"-287.43\" rx=\"69.09\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"1339.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">psi_camper</text>\n",
       "<text text-anchor=\"middle\" x=\"1339.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"1339.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- psi_camper&#45;&gt;psi -->\n",
       "<g id=\"edge8\" class=\"edge\">\n",
       "<title>psi_camper&#45;&gt;psi</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1309.24,-253.3C1295.2,-240.22 1277.47,-226.53 1258.62,-218.95 1164.83,-181.25 867.34,-176.95 732.82,-177.01\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"732.64,-173.51 722.65,-177.02 732.65,-180.51 732.64,-173.51\"/>\n",
       "</g>\n",
       "<!-- count -->\n",
       "<g id=\"node13\" class=\"node\">\n",
       "<title>count</title>\n",
       "<ellipse fill=\"lightgrey\" stroke=\"black\" cx=\"599.62\" cy=\"-76.48\" rx=\"52.15\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"599.62\" y=\"-87.78\" font-family=\"Times,serif\" font-size=\"14.00\">count</text>\n",
       "<text text-anchor=\"middle\" x=\"599.62\" y=\"-72.78\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"599.62\" y=\"-57.78\" font-family=\"Times,serif\" font-size=\"14.00\">Mixture</text>\n",
       "</g>\n",
       "<!-- mu&#45;&gt;count -->\n",
       "<g id=\"edge11\" class=\"edge\">\n",
       "<title>mu&#45;&gt;count</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M550.96,-149.71C557.29,-140.32 564.61,-129.45 571.63,-119.03\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"574.73,-120.68 577.42,-110.43 568.93,-116.77 574.73,-120.68\"/>\n",
       "</g>\n",
       "<!-- psi&#45;&gt;count -->\n",
       "<g id=\"edge12\" class=\"edge\">\n",
       "<title>psi&#45;&gt;count</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M648.28,-149.71C641.95,-140.32 634.63,-129.45 627.61,-119.03\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"630.31,-116.77 621.82,-110.43 624.5,-120.68 630.31,-116.77\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<graphviz.graphs.Digraph at 0x7f11d2207cb0>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zip_model.graph()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since each parameter has a different link function, and each parameter has a different meaning, we must be careful on how the coefficients are interpreted. Coefficients without the substring \"psi\" correspond to the $\\mu$ parameter (the mean of the Poisson process) and are on the log scale. Coefficients with the substring \"psi\" correspond to the $\\psi$ parameter (this can be thought of as the log-odds of non-zero data) and are on the logit scale. Interpreting these coefficients can be easier with the `interpret` sub-package. Below, we will show how to use this sub-package to interpret the coefficients conditional on a set of the predictors."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>mean</th>\n",
       "      <th>sd</th>\n",
       "      <th>hdi_3%</th>\n",
       "      <th>hdi_97%</th>\n",
       "      <th>mcse_mean</th>\n",
       "      <th>mcse_sd</th>\n",
       "      <th>ess_bulk</th>\n",
       "      <th>ess_tail</th>\n",
       "      <th>r_hat</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Intercept</th>\n",
       "      <td>-1.585</td>\n",
       "      <td>0.306</td>\n",
       "      <td>-2.148</td>\n",
       "      <td>-0.990</td>\n",
       "      <td>0.005</td>\n",
       "      <td>0.005</td>\n",
       "      <td>3836.0</td>\n",
       "      <td>3067.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>livebait[1]</th>\n",
       "      <td>1.618</td>\n",
       "      <td>0.271</td>\n",
       "      <td>1.128</td>\n",
       "      <td>2.130</td>\n",
       "      <td>0.004</td>\n",
       "      <td>0.004</td>\n",
       "      <td>4427.0</td>\n",
       "      <td>3020.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>camper[1]</th>\n",
       "      <td>0.265</td>\n",
       "      <td>0.099</td>\n",
       "      <td>0.079</td>\n",
       "      <td>0.448</td>\n",
       "      <td>0.001</td>\n",
       "      <td>0.002</td>\n",
       "      <td>5863.0</td>\n",
       "      <td>2983.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>persons</th>\n",
       "      <td>0.616</td>\n",
       "      <td>0.047</td>\n",
       "      <td>0.531</td>\n",
       "      <td>0.704</td>\n",
       "      <td>0.001</td>\n",
       "      <td>0.001</td>\n",
       "      <td>4157.0</td>\n",
       "      <td>2759.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>child</th>\n",
       "      <td>-0.801</td>\n",
       "      <td>0.097</td>\n",
       "      <td>-0.982</td>\n",
       "      <td>-0.621</td>\n",
       "      <td>0.002</td>\n",
       "      <td>0.001</td>\n",
       "      <td>3854.0</td>\n",
       "      <td>3250.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>psi_Intercept</th>\n",
       "      <td>-1.437</td>\n",
       "      <td>0.794</td>\n",
       "      <td>-2.857</td>\n",
       "      <td>0.083</td>\n",
       "      <td>0.013</td>\n",
       "      <td>0.011</td>\n",
       "      <td>3822.0</td>\n",
       "      <td>3183.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>psi_livebait[1]</th>\n",
       "      <td>-0.195</td>\n",
       "      <td>0.667</td>\n",
       "      <td>-1.409</td>\n",
       "      <td>1.084</td>\n",
       "      <td>0.010</td>\n",
       "      <td>0.011</td>\n",
       "      <td>4384.0</td>\n",
       "      <td>3141.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>psi_camper[1]</th>\n",
       "      <td>0.842</td>\n",
       "      <td>0.328</td>\n",
       "      <td>0.179</td>\n",
       "      <td>1.408</td>\n",
       "      <td>0.005</td>\n",
       "      <td>0.006</td>\n",
       "      <td>4972.0</td>\n",
       "      <td>2830.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>psi_persons</th>\n",
       "      <td>0.915</td>\n",
       "      <td>0.194</td>\n",
       "      <td>0.553</td>\n",
       "      <td>1.273</td>\n",
       "      <td>0.003</td>\n",
       "      <td>0.003</td>\n",
       "      <td>4209.0</td>\n",
       "      <td>2872.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>psi_child</th>\n",
       "      <td>-1.893</td>\n",
       "      <td>0.303</td>\n",
       "      <td>-2.460</td>\n",
       "      <td>-1.323</td>\n",
       "      <td>0.005</td>\n",
       "      <td>0.004</td>\n",
       "      <td>4060.0</td>\n",
       "      <td>3533.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  mean     sd  hdi_3%  hdi_97%  mcse_mean  mcse_sd  ess_bulk  \\\n",
       "Intercept       -1.585  0.306  -2.148   -0.990      0.005    0.005    3836.0   \n",
       "livebait[1]      1.618  0.271   1.128    2.130      0.004    0.004    4427.0   \n",
       "camper[1]        0.265  0.099   0.079    0.448      0.001    0.002    5863.0   \n",
       "persons          0.616  0.047   0.531    0.704      0.001    0.001    4157.0   \n",
       "child           -0.801  0.097  -0.982   -0.621      0.002    0.001    3854.0   \n",
       "psi_Intercept   -1.437  0.794  -2.857    0.083      0.013    0.011    3822.0   \n",
       "psi_livebait[1] -0.195  0.667  -1.409    1.084      0.010    0.011    4384.0   \n",
       "psi_camper[1]    0.842  0.328   0.179    1.408      0.005    0.006    4972.0   \n",
       "psi_persons      0.915  0.194   0.553    1.273      0.003    0.003    4209.0   \n",
       "psi_child       -1.893  0.303  -2.460   -1.323      0.005    0.004    4060.0   \n",
       "\n",
       "                 ess_tail  r_hat  \n",
       "Intercept          3067.0    1.0  \n",
       "livebait[1]        3020.0    1.0  \n",
       "camper[1]          2983.0    1.0  \n",
       "persons            2759.0    1.0  \n",
       "child              3250.0    1.0  \n",
       "psi_Intercept      3183.0    1.0  \n",
       "psi_livebait[1]    3141.0    1.0  \n",
       "psi_camper[1]      2830.0    1.0  \n",
       "psi_persons        2872.0    1.0  \n",
       "psi_child          3533.0    1.0  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "az.summary(\n",
    "    zip_idata, \n",
    "    var_names=[\"Intercept\", \"livebait\", \"camper\", \"persons\", \"child\"], \n",
    "    filter_vars=\"like\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Interpret model parameters\n",
    "\n",
    "Since we have fit a distributional model, we can leverage the `plot_predictions()` function in the `interpret` sub-package to visualize how the $\\text{ZIPoisson}$ parameters $\\mu$ and $\\psi$ vary as a covariate changes. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Default computed for conditional variable: persons\n",
      "Default computed for unspecified variable: camper, child, livebait\n",
      "Default computed for conditional variable: persons\n",
      "Default computed for unspecified variable: camper, child, livebait\n"
     ]
    },
    {
     "data": {
      "image/png": "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/Zs1axZMJhP27t3b4Ry33nprp+fp6ffL3Wu81Ovp7u80EfVs3759UCqVGDRokOvx+b7Ibrfj4MGDrlGsrrBfYr/UE3/ol9y9TvZLvsHgivpk3759GD58OORyeaft0dHRl8y6s2TJEjz22GO4+eab8dFHH+Gbb77Bd999hzFjxqCtrc2134YNG7BgwQK8/PLLKCgoQEJCAubPn4+6ujqPnN/blEplh8cymQwA0NbWhsbGRtjtdqSnp3vs+RobGyEIQpdZmlJTUwGg0zB/T2305PP0RXJycofHEokESqXSdU6dTgebzYbnn38e4eHhHf7NmjULAKDVajuco6u29vT75e41Xur1dPd3moh69t1337mCKYfD0SGYOnHiBFpbW3u88cd+if1ST/yhX3L3Otkv+QbXXFGf7Nu3D1dffXWn7du2bcPYsWMhFvccr7/55puYP38+/vKXv3TYrtVqERcX53qsUqmwYsUKrFixAhUVFfjwww/xyCOPQKPR4LPPPuv3+fsiIiICZrO50/aLPyx7KyEhAWFhYaiqqnLr+K7Ex8dDLBajtra2089qamoAOF9Tf3+euro6pKWluR7bbDbodDpXBxEfH++6S3f//fd3eY7zd6/PE4lEnfbp6fdr48aNXrlGd3+niahnR48edY0uXLz+6vzf1tSpU7s9nv0S+6We+EO/9Nlnn3nlOtkveQdHrqjX6urqUF1dDYmkY0y+fft27N+//5JTAgHnB8r5Oyfnffzxx6iuru72mMzMTDzwwAO4+uqrsX//fo+f/1Kys7Oh0Whw7tw51zaLxYLPP//crfPJ5XJMnz4d77zzTo8dYW/u2J0XFRWFSZMm4b333uuwv8PhwJtvvon09HSP1PLw9vP8+9//7vD4P//5D2w2G6644goAQGRkJGbMmIEDBw5g9OjRmDBhQqd/F9+pu5SLf78G4rXsy+80EfXM4XCgsrISQMdkFhqNBitXrsR1113nurPfFfZLve+XgN73TeyXPNcvDcR1sl/yHI5cUa999913AIB33nkHw4cPR25uLg4ePIgXX3wRAKDRaHDkyBGMHDmy23Ncf/31WLduHfLz8zF69GgUFxdj+fLlHaYi6PV6zJgxA3feeSfy8/MRExOD7777Dp999hluueWWHtvYm/P31dy5c/H444/jjjvuwO9//3uYTCY899xzsNvtbp/z2Wef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",
      "text/plain": [
       "<Figure size 1000x300 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10, 3))\n",
    "\n",
    "bmb.interpret.plot_predictions(\n",
    "    zip_model,\n",
    "    zip_idata,\n",
    "    conditional=\"persons\",\n",
    "    ax=ax[0]\n",
    ")\n",
    "ax[0].set_ylabel(\"mu (fish count)\")\n",
    "ax[0].set_title(\"$\\\\mu$ as a function of persons\")\n",
    "\n",
    "bmb.interpret.plot_predictions(\n",
    "    zip_model,\n",
    "    zip_idata,\n",
    "    conditional=\"persons\",\n",
    "    target=\"psi\",\n",
    "    ax=ax[1]\n",
    ")\n",
    "ax[1].set_title(\"$\\\\psi$ as a function of persons\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Interpreting the left plot (the $\\mu$ parameter) as the number of people in a group fishing increases, so does the number of fish caught. The right plot (the $\\psi$ parameter) shows that as the number of people in a group fishing increases, the probability of the Poisson process increases. One interpretation of this is that as the number of people in a group increases, the probability of catching no fish decreases."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Posterior predictive distribution\n",
    "\n",
    "Lastly, let's plot the posterior predictive distribution against the observed data to see how well the model fits the data. To plot the samples, a utility function is defined below to assist in the plotting of discrete values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def adjust_lightness(color, amount=0.5):\n",
    "    import matplotlib.colors as mc\n",
    "    import colorsys\n",
    "    try:\n",
    "        c = mc.cnames[color]\n",
    "    except:\n",
    "        c = color\n",
    "    c = colorsys.rgb_to_hls(*mc.to_rgb(c))\n",
    "    return colorsys.hls_to_rgb(c[0], c[1] * amount, c[2])\n",
    "\n",
    "def plot_ppc_discrete(idata, bins, ax):\n",
    "    \n",
    "    def add_discrete_bands(x, lower, upper, ax, **kwargs):\n",
    "        for i, (l, u) in enumerate(zip(lower, upper)):\n",
    "            s = slice(i, i + 2)\n",
    "            ax.fill_between(x[s], [l, l], [u, u], **kwargs)\n",
    "\n",
    "    var_name = list(idata.observed_data.data_vars)[0]\n",
    "    y_obs = idata.observed_data[var_name].to_numpy()\n",
    "    \n",
    "    counts_list = []\n",
    "    for draw_values in az.extract(idata, \"posterior_predictive\")[var_name].to_numpy().T:\n",
    "        counts, _ = np.histogram(draw_values, bins=bins)\n",
    "        counts_list.append(counts)\n",
    "    counts_arr = np.stack(counts_list)\n",
    "\n",
    "    qts_90 = np.quantile(counts_arr, (0.05, 0.95), axis=0)\n",
    "    qts_70 = np.quantile(counts_arr, (0.15, 0.85), axis=0)\n",
    "    qts_50 = np.quantile(counts_arr, (0.25, 0.75), axis=0)\n",
    "    qts_30 = np.quantile(counts_arr, (0.35, 0.65), axis=0)\n",
    "    median = np.quantile(counts_arr, 0.5, axis=0)\n",
    "\n",
    "    colors = [adjust_lightness(\"C0\", x) for x in [1.8, 1.6, 1.4, 1.2, 0.9]]\n",
    "\n",
    "    add_discrete_bands(bins, qts_90[0], qts_90[1], ax=ax, color=colors[0])\n",
    "    add_discrete_bands(bins, qts_70[0], qts_70[1], ax=ax, color=colors[1])\n",
    "    add_discrete_bands(bins, qts_50[0], qts_50[1], ax=ax, color=colors[2])\n",
    "    add_discrete_bands(bins, qts_30[0], qts_30[1], ax=ax, color=colors[3])\n",
    "\n",
    "    \n",
    "    ax.step(bins[:-1], median, color=colors[4], lw=2, where=\"post\")\n",
    "    ax.hist(y_obs, bins=bins, histtype=\"step\", lw=2, color=\"black\", align=\"mid\")\n",
    "    handles = [\n",
    "        Line2D([], [], label=\"Observed data\", color=\"black\", lw=2),\n",
    "        Line2D([], [], label=\"Posterior predictive median\", color=colors[4], lw=2)\n",
    "    ]\n",
    "    ax.legend(handles=handles)\n",
    "    return ax"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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pUqV8lx/7ty5EplybN++PfK65sHS0hJ79+4t9u0RERERGQO9pj47deqEL774As+ePcu17unTp5g6dSq6dOlSbMERERERlWV6jah9/vnn2LJlC6pUqYKPP/4Yfn5+kMlkuHz5Mr799luo1WpMnjy5pGIlIiIiKlP0StTc3d1x/PhxfPjhh5g4caI0HSmTydChQwcsW7YM7u7uJRIoERERUVmj97M+fXx8sHv3biQmJuLatWsQQqBy5cpwdHQsifiIiIiIyqwiPZQdABwdHdGgQYPijIWIiIiIXlCkZ30SERERUcljokZERERkpJioERERERkpJmpERERERoqJGhEREZGRYqJGREREZKSYqBEREREZKSZqREREREaKiRoRERGRkWKiRkRERGSkmKgRERERGSkmakRERERGiokaERERkZFiokZERERkpJioERERERkpJmpERERERoqJGhEREZGRYqJGREREZKSYqBEREREZKaNO1EJDQyGTybReSqVSWi+EQGhoKFQqFSwtLREYGIiLFy8aMGIiIiKi4mPUiRoA1KhRA3FxcdLr/Pnz0rp58+Zh0aJF+Oabb3Dq1CkolUq0a9cOKSkpBoyYiIiIqHgYfaJmZmYGpVIpvVxdXQE8H01bsmQJJk+ejJ49e6JmzZpYs2YN0tLSsGHDBgNHTURERPTyjD5Ru3r1KlQqFXx9fdGvXz/cuHEDABAdHY34+Hi0b99eKqtQKNCyZUscP368wDbT09ORnJys9SIiIiIyNkadqDVq1Ag//vgj9u7di++//x7x8fFo2rQpHj58iPj4eACAu7u7Vh13d3dpXX5mz54Ne3t76eXl5VVi+0BERERUVEadqAUFBaFXr17w9/dH27ZtsWvXLgDAmjVrpDIymUyrjhAi17KcJk6ciKSkJOl169at4g+eiIiI6CUZdaKWk7W1Nfz9/XH16lXp6s+co2cJCQm5RtlyUigUsLOz03oRERERGZtXKlFLT0/H5cuX4eHhAV9fXyiVSkREREjrMzIycPjwYTRt2tSAURIREREVDzNDB1CQcePGoWvXrvD29kZCQgJmzpyJ5ORkDB48GDKZDCEhIZg1axYqV66MypUrY9asWbCyssKAAQMMHToRERHRSzPqRO327dvo378/Hjx4AFdXVzRu3BgnT56Ej48PAGD8+PF4+vQpPvroIyQmJqJRo0b4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",
      "text/plain": [
       "<Figure size 700x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "zip_pps = zip_model.predict(idata=zip_idata, kind=\"response\", inplace=False)\n",
    "\n",
    "bins = np.arange(39)\n",
    "fig, ax = plt.subplots(figsize=(7, 3))\n",
    "ax = plot_ppc_discrete(zip_pps, bins, ax)\n",
    "ax.set_xlabel(\"Number of Fish Caught\")\n",
    "ax.set_ylabel(\"Count\")\n",
    "ax.set_title(\"ZIP model - Posterior Predictive Distribution\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The model captures the number of zeros accurately. However, the model seems to slightly underestimate the counts 1 and 2. Nonetheless, the plot shows that the model captures the overall distribution of counts reasonably well."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Hurdle Poisson\n",
    "\n",
    "Both ZIP and hurdle models both use two processes to generate data. The two models differ in their conceptualization of how the zeros are generated. In $\\text{ZIPoisson}$, the zeroes can come from any of the processes, while in the hurdle Poisson they come only from one of the processes. Thus, a hurdle model assumes zero and positive values are generated from two independent processes. In the hurdle model, there are two components: (1) a \"structural\" process such as a binary model for modeling whether the response variable is zero or not, and (2) a process using a truncated model such as a truncated Poisson for modeling the counts. The result of these two components is a distribution that can be described as\n",
    "\n",
    "$$P(Y=0) = 1 - \\psi$$\n",
    "\n",
    "$$P(Y=y_i) = \\psi \\frac{e^{-\\mu_i}\\mu_{i}^{y_i} / y_i!}{1 - e^{-\\mu_i}} \\ \\text{for} \\ y_i = 1, 2, 3,...,n$$\n",
    "\n",
    "where $y_i$ is the outcome, $\\mu$ is the mean of the Poisson process where $\\mu \\ge 0$, and $\\psi$ is the probability of the Poisson process where $0 \\lt \\psi \\lt 1$. The numerator of the second equation is the Poisson probability mass function, and the denominator is one minus the Poisson cumulative distribution function. This is a lot to digest. Again, let's simulate some data to understand how data is generated from this process."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.arange(0, 22)\n",
    "psis = [0.7, 0.4]\n",
    "mus = [10, 4]\n",
    "\n",
    "plt.figure(figsize=(7, 3))\n",
    "for psi, mu in zip(psis, mus):\n",
    "    pmf = stats.poisson.pmf(x, mu) # pmf evaluated at x given mu\n",
    "    cdf = stats.poisson.cdf(0, mu) # cdf evaluated at 0 given mu\n",
    "    pmf[0] = 1 - psi # 1.) generate zeros\n",
    "    pmf[1:] =  (psi * pmf[1:]) / (1 - cdf) # 2.) generate counts\n",
    "    pmf /= pmf.sum() # normalize to get probabilities\n",
    "    plt.plot(x, pmf, '-o', label='$\\\\psi$ = {}, $\\\\mu$ = {}'.format(psi, mu))\n",
    "\n",
    "plt.title(\"Hurdle Poisson Process\")\n",
    "plt.xlabel('x', fontsize=12)\n",
    "plt.ylabel('f(x)', fontsize=12)\n",
    "plt.legend(loc=1)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The differences between the ZIP and hurdle models are subtle. Notice how in the code for the hurdle Poisson process, the zero counts are generate by `(1 - psi)` versus `(1 - psi) + pmf[0]` for the ZIP process. Additionally, the positive observations are generated by the process `(psi * pmf[1:]) / (1 - cdf)` where the numerator is a vector of probabilities for positive counts scaled by $\\psi$ and the denominator uses the Poisson cumulative distribution function to evaluate the probability a count is greater than 0."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Hurdle regression model\n",
    "\n",
    "To add predictors in the hurdle model, we follow the same specification as in the _ZIP regression model_ section since both models have the same structure. The only difference is that the hurdle model uses a truncated Poisson distribution instead of a ZIP distribution. Right away, we will model both the parent and non-parent parameter as a function of the predictors."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Initializing NUTS using jitter+adapt_diag...\n",
      "Multiprocess sampling (4 chains in 4 jobs)\n",
      "NUTS: [Intercept, livebait, camper, persons, child, psi_Intercept, psi_livebait, psi_camper, psi_persons, psi_child]\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "846d185b0f01432f849ef4ffc8a26dc2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Sampling 4 chains for 1_000 tune and 1_000 draw iterations (4_000 + 4_000 draws total) took 5 seconds.\n"
     ]
    }
   ],
   "source": [
    "hurdle_formula = bmb.Formula(\n",
    "    \"count ~ livebait + camper + persons + child\", # parent parameter mu\n",
    "    \"psi ~ livebait + camper + persons + child\"    # non-parent parameter psi\n",
    ")\n",
    "\n",
    "hurdle_model = bmb.Model(\n",
    "    hurdle_formula, \n",
    "    fish_data, \n",
    "    family='hurdle_poisson'\n",
    ")\n",
    "\n",
    "hurdle_idata = hurdle_model.fit(\n",
    "    draws=1000, \n",
    "    target_accept=0.95, \n",
    "    random_seed=1234, \n",
    "    chains=4\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "       Formula: count ~ livebait + camper + persons + child\n",
       "                psi ~ livebait + camper + persons + child\n",
       "        Family: hurdle_poisson\n",
       "          Link: mu = log\n",
       "                psi = logit\n",
       "  Observations: 248\n",
       "        Priors: \n",
       "    target = mu\n",
       "        Common-level effects\n",
       "            Intercept ~ Normal(mu: 0.0, sigma: 9.5283)\n",
       "            livebait ~ Normal(mu: 0.0, sigma: 7.2685)\n",
       "            camper ~ Normal(mu: 0.0, sigma: 5.0733)\n",
       "            persons ~ Normal(mu: 0.0, sigma: 2.2583)\n",
       "            child ~ Normal(mu: 0.0, sigma: 2.9419)\n",
       "    target = psi\n",
       "        Common-level effects\n",
       "            psi_Intercept ~ Normal(mu: 0.0, sigma: 1.0)\n",
       "            psi_livebait ~ Normal(mu: 0.0, sigma: 1.0)\n",
       "            psi_camper ~ Normal(mu: 0.0, sigma: 1.0)\n",
       "            psi_persons ~ Normal(mu: 0.0, sigma: 1.0)\n",
       "            psi_child ~ Normal(mu: 0.0, sigma: 1.0)\n",
       "------\n",
       "* To see a plot of the priors call the .plot_priors() method.\n",
       "* To see a summary or plot of the posterior pass the object returned by .fit() to az.summary() or az.plot_trace()"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hurdle_model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Generated by graphviz version 2.43.0 (0)\n",
       " -->\n",
       "<!-- Title: %3 Pages: 1 -->\n",
       "<svg width=\"1434pt\" height=\"349pt\"\n",
       " viewBox=\"0.00 0.00 1433.62 348.91\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 344.91)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-344.91 1429.62,-344.91 1429.62,4 -4,4\"/>\n",
       "<g id=\"clust1\" class=\"cluster\">\n",
       "<title>clusterlivebait_dim (1)</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M839.62,-218.95C839.62,-218.95 943.62,-218.95 943.62,-218.95 949.62,-218.95 955.62,-224.95 955.62,-230.95 955.62,-230.95 955.62,-320.91 955.62,-320.91 955.62,-326.91 949.62,-332.91 943.62,-332.91 943.62,-332.91 839.62,-332.91 839.62,-332.91 833.62,-332.91 827.62,-326.91 827.62,-320.91 827.62,-320.91 827.62,-230.95 827.62,-230.95 827.62,-224.95 833.62,-218.95 839.62,-218.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"891.62\" y=\"-226.75\" font-family=\"Times,serif\" font-size=\"14.00\">livebait_dim (1)</text>\n",
       "</g>\n",
       "<g id=\"clust2\" class=\"cluster\">\n",
       "<title>clustercamper_dim (1)</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M975.62,-218.95C975.62,-218.95 1079.62,-218.95 1079.62,-218.95 1085.62,-218.95 1091.62,-224.95 1091.62,-230.95 1091.62,-230.95 1091.62,-320.91 1091.62,-320.91 1091.62,-326.91 1085.62,-332.91 1079.62,-332.91 1079.62,-332.91 975.62,-332.91 975.62,-332.91 969.62,-332.91 963.62,-326.91 963.62,-320.91 963.62,-320.91 963.62,-230.95 963.62,-230.95 963.62,-224.95 969.62,-218.95 975.62,-218.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"1027.62\" y=\"-226.75\" font-family=\"Times,serif\" font-size=\"14.00\">camper_dim (1)</text>\n",
       "</g>\n",
       "<g id=\"clust3\" class=\"cluster\">\n",
       "<title>clusterpsi_livebait_dim (1)</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1111.62,-218.95C1111.62,-218.95 1242.62,-218.95 1242.62,-218.95 1248.62,-218.95 1254.62,-224.95 1254.62,-230.95 1254.62,-230.95 1254.62,-320.91 1254.62,-320.91 1254.62,-326.91 1248.62,-332.91 1242.62,-332.91 1242.62,-332.91 1111.62,-332.91 1111.62,-332.91 1105.62,-332.91 1099.62,-326.91 1099.62,-320.91 1099.62,-320.91 1099.62,-230.95 1099.62,-230.95 1099.62,-224.95 1105.62,-218.95 1111.62,-218.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"1177.12\" y=\"-226.75\" font-family=\"Times,serif\" font-size=\"14.00\">psi_livebait_dim (1)</text>\n",
       "</g>\n",
       "<g id=\"clust4\" class=\"cluster\">\n",
       "<title>clusterpsi_camper_dim (1)</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1274.62,-218.95C1274.62,-218.95 1405.62,-218.95 1405.62,-218.95 1411.62,-218.95 1417.62,-224.95 1417.62,-230.95 1417.62,-230.95 1417.62,-320.91 1417.62,-320.91 1417.62,-326.91 1411.62,-332.91 1405.62,-332.91 1405.62,-332.91 1274.62,-332.91 1274.62,-332.91 1268.62,-332.91 1262.62,-326.91 1262.62,-320.91 1262.62,-320.91 1262.62,-230.95 1262.62,-230.95 1262.62,-224.95 1268.62,-218.95 1274.62,-218.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"1340.12\" y=\"-226.75\" font-family=\"Times,serif\" font-size=\"14.00\">psi_camper_dim (1)</text>\n",
       "</g>\n",
       "<g id=\"clust5\" class=\"cluster\">\n",
       "<title>cluster__obs__ (248)</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M480.62,-8C480.62,-8 718.62,-8 718.62,-8 724.62,-8 730.62,-14 730.62,-20 730.62,-20 730.62,-198.95 730.62,-198.95 730.62,-204.95 724.62,-210.95 718.62,-210.95 718.62,-210.95 480.62,-210.95 480.62,-210.95 474.62,-210.95 468.62,-204.95 468.62,-198.95 468.62,-198.95 468.62,-20 468.62,-20 468.62,-14 474.62,-8 480.62,-8\"/>\n",
       "<text text-anchor=\"middle\" x=\"675.62\" y=\"-15.8\" font-family=\"Times,serif\" font-size=\"14.00\">__obs__ (248)</text>\n",
       "</g>\n",
       "<!-- child -->\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>child</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"170.62\" cy=\"-287.43\" rx=\"49.49\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"170.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">child</text>\n",
       "<text text-anchor=\"middle\" x=\"170.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"170.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- mu -->\n",
       "<g id=\"node11\" class=\"node\">\n",
       "<title>mu</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" points=\"590.62,-202.95 476.62,-202.95 476.62,-149.95 590.62,-149.95 590.62,-202.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"533.62\" y=\"-187.75\" font-family=\"Times,serif\" font-size=\"14.00\">mu</text>\n",
       "<text text-anchor=\"middle\" x=\"533.62\" y=\"-172.75\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"533.62\" y=\"-157.75\" font-family=\"Times,serif\" font-size=\"14.00\">Deterministic</text>\n",
       "</g>\n",
       "<!-- child&#45;&gt;mu -->\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>child&#45;&gt;mu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M191.4,-253.19C201.12,-240.42 213.83,-227 228.62,-218.95 268.44,-197.3 389.41,-186.12 466.5,-181.04\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"466.85,-184.53 476.6,-180.4 466.4,-177.54 466.85,-184.53\"/>\n",
       "</g>\n",
       "<!-- psi_child -->\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>psi_child</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"589.62\" cy=\"-287.43\" rx=\"55.72\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"589.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">psi_child</text>\n",
       "<text text-anchor=\"middle\" x=\"589.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"589.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- psi -->\n",
       "<g id=\"node12\" class=\"node\">\n",
       "<title>psi</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" points=\"722.62,-202.95 608.62,-202.95 608.62,-149.95 722.62,-149.95 722.62,-202.95\"/>\n",
       "<text text-anchor=\"middle\" x=\"665.62\" y=\"-187.75\" font-family=\"Times,serif\" font-size=\"14.00\">psi</text>\n",
       "<text text-anchor=\"middle\" x=\"665.62\" y=\"-172.75\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"665.62\" y=\"-157.75\" font-family=\"Times,serif\" font-size=\"14.00\">Deterministic</text>\n",
       "</g>\n",
       "<!-- psi_child&#45;&gt;psi -->\n",
       "<g id=\"edge7\" class=\"edge\">\n",
       "<title>psi_child&#45;&gt;psi</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M612.83,-253.14C622,-240 632.53,-224.9 641.76,-211.67\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"644.76,-213.48 647.61,-203.28 639.02,-209.48 644.76,-213.48\"/>\n",
       "</g>\n",
       "<!-- Intercept -->\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>Intercept</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"296.62\" cy=\"-287.43\" rx=\"58.88\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"296.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">Intercept</text>\n",
       "<text text-anchor=\"middle\" x=\"296.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"296.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- Intercept&#45;&gt;mu -->\n",
       "<g id=\"edge5\" class=\"edge\">\n",
       "<title>Intercept&#45;&gt;mu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M322.81,-253.66C334.4,-241.12 348.95,-227.74 364.62,-218.95 395.65,-201.55 433.89,-191.38 466.14,-185.46\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"467.13,-188.84 476.39,-183.69 465.94,-181.95 467.13,-188.84\"/>\n",
       "</g>\n",
       "<!-- persons -->\n",
       "<g id=\"node4\" class=\"node\">\n",
       "<title>persons</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"51.62\" cy=\"-287.43\" rx=\"51.74\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"51.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">persons</text>\n",
       "<text text-anchor=\"middle\" x=\"51.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"51.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- persons&#45;&gt;mu -->\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>persons&#45;&gt;mu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M73.37,-253.25C83.66,-240.33 97.11,-226.77 112.62,-218.95 172.85,-188.58 363.41,-180.43 466.25,-178.25\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"466.59,-181.74 476.52,-178.04 466.45,-174.74 466.59,-181.74\"/>\n",
       "</g>\n",
       "<!-- psi_Intercept -->\n",
       "<g id=\"node5\" class=\"node\">\n",
       "<title>psi_Intercept</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"741.62\" cy=\"-287.43\" rx=\"77.56\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"741.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">psi_Intercept</text>\n",
       "<text text-anchor=\"middle\" x=\"741.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"741.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- psi_Intercept&#45;&gt;psi -->\n",
       "<g id=\"edge6\" class=\"edge\">\n",
       "<title>psi_Intercept&#45;&gt;psi</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M717.36,-251.65C708.47,-238.9 698.41,-224.48 689.55,-211.76\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"692.22,-209.48 683.63,-203.28 686.48,-213.48 692.22,-209.48\"/>\n",
       "</g>\n",
       "<!-- psi_persons -->\n",
       "<g id=\"node6\" class=\"node\">\n",
       "<title>psi_persons</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"444.62\" cy=\"-287.43\" rx=\"71.34\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"444.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">psi_persons</text>\n",
       "<text text-anchor=\"middle\" x=\"444.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"444.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- psi_persons&#45;&gt;psi -->\n",
       "<g id=\"edge9\" class=\"edge\">\n",
       "<title>psi_persons&#45;&gt;psi</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M475.06,-253.28C488.88,-240.36 506.24,-226.8 524.62,-218.95 555.45,-205.79 567.48,-220.47 599.62,-210.95 603.39,-209.84 607.21,-208.51 611,-207.03\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"612.48,-210.2 620.35,-203.1 609.77,-203.75 612.48,-210.2\"/>\n",
       "</g>\n",
       "<!-- livebait -->\n",
       "<g id=\"node7\" class=\"node\">\n",
       "<title>livebait</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"886.62\" cy=\"-287.43\" rx=\"49.49\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"886.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">livebait</text>\n",
       "<text text-anchor=\"middle\" x=\"886.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"886.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- livebait&#45;&gt;mu -->\n",
       "<g id=\"edge3\" class=\"edge\">\n",
       "<title>livebait&#45;&gt;mu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M866.49,-252.8C856.8,-239.8 843.94,-226.31 828.62,-218.95 805.67,-207.93 624.27,-217.31 599.62,-210.95 595.49,-209.89 591.32,-208.54 587.19,-206.99\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"588.26,-203.64 577.68,-203.07 585.59,-210.12 588.26,-203.64\"/>\n",
       "</g>\n",
       "<!-- camper -->\n",
       "<g id=\"node8\" class=\"node\">\n",
       "<title>camper</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"1020.62\" cy=\"-287.43\" rx=\"49.49\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"1020.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">camper</text>\n",
       "<text text-anchor=\"middle\" x=\"1020.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"1020.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- camper&#45;&gt;mu -->\n",
       "<g id=\"edge4\" class=\"edge\">\n",
       "<title>camper&#45;&gt;mu</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M999.7,-253.38C989.39,-240.15 975.7,-226.31 959.62,-218.95 923.23,-202.31 638.42,-220.69 599.62,-210.95 595.3,-209.87 590.93,-208.46 586.62,-206.84\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"587.87,-203.57 577.29,-202.99 585.2,-210.04 587.87,-203.57\"/>\n",
       "</g>\n",
       "<!-- psi_livebait -->\n",
       "<g id=\"node9\" class=\"node\">\n",
       "<title>psi_livebait</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"1176.62\" cy=\"-287.43\" rx=\"69.09\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"1176.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">psi_livebait</text>\n",
       "<text text-anchor=\"middle\" x=\"1176.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"1176.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- psi_livebait&#45;&gt;psi -->\n",
       "<g id=\"edge10\" class=\"edge\">\n",
       "<title>psi_livebait&#45;&gt;psi</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1146.14,-253.54C1132.09,-240.5 1114.37,-226.78 1095.62,-218.95 1031.82,-192.32 836.9,-182.53 732.8,-179.13\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"732.82,-175.63 722.72,-178.81 732.6,-182.62 732.82,-175.63\"/>\n",
       "</g>\n",
       "<!-- psi_camper -->\n",
       "<g id=\"node10\" class=\"node\">\n",
       "<title>psi_camper</title>\n",
       "<ellipse fill=\"none\" stroke=\"black\" cx=\"1339.62\" cy=\"-287.43\" rx=\"69.09\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"1339.62\" y=\"-298.73\" font-family=\"Times,serif\" font-size=\"14.00\">psi_camper</text>\n",
       "<text text-anchor=\"middle\" x=\"1339.62\" y=\"-283.73\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"1339.62\" y=\"-268.73\" font-family=\"Times,serif\" font-size=\"14.00\">Normal</text>\n",
       "</g>\n",
       "<!-- psi_camper&#45;&gt;psi -->\n",
       "<g id=\"edge8\" class=\"edge\">\n",
       "<title>psi_camper&#45;&gt;psi</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1309.24,-253.3C1295.2,-240.22 1277.47,-226.53 1258.62,-218.95 1164.83,-181.25 867.34,-176.95 732.82,-177.01\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"732.64,-173.51 722.65,-177.02 732.65,-180.51 732.64,-173.51\"/>\n",
       "</g>\n",
       "<!-- count -->\n",
       "<g id=\"node13\" class=\"node\">\n",
       "<title>count</title>\n",
       "<ellipse fill=\"lightgrey\" stroke=\"black\" cx=\"599.62\" cy=\"-76.48\" rx=\"51.74\" ry=\"37.45\"/>\n",
       "<text text-anchor=\"middle\" x=\"599.62\" y=\"-87.78\" font-family=\"Times,serif\" font-size=\"14.00\">count</text>\n",
       "<text text-anchor=\"middle\" x=\"599.62\" y=\"-72.78\" font-family=\"Times,serif\" font-size=\"14.00\">~</text>\n",
       "<text text-anchor=\"middle\" x=\"599.62\" y=\"-57.78\" font-family=\"Times,serif\" font-size=\"14.00\">_Hurdle</text>\n",
       "</g>\n",
       "<!-- mu&#45;&gt;count -->\n",
       "<g id=\"edge11\" class=\"edge\">\n",
       "<title>mu&#45;&gt;count</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M550.96,-149.71C557.29,-140.32 564.61,-129.45 571.63,-119.03\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"574.73,-120.68 577.42,-110.43 568.93,-116.77 574.73,-120.68\"/>\n",
       "</g>\n",
       "<!-- psi&#45;&gt;count -->\n",
       "<g id=\"edge12\" class=\"edge\">\n",
       "<title>psi&#45;&gt;count</title>\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M648.28,-149.71C641.95,-140.32 634.63,-129.45 627.61,-119.03\"/>\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"630.31,-116.77 621.82,-110.43 624.5,-120.68 630.31,-116.77\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<graphviz.graphs.Digraph at 0x7f1283d8df20>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hurdle_model.graph()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As the same link functions are used for ZIP and Hurdle model, the coefficients can be interpreted in a similar manner."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>mean</th>\n",
       "      <th>sd</th>\n",
       "      <th>hdi_3%</th>\n",
       "      <th>hdi_97%</th>\n",
       "      <th>mcse_mean</th>\n",
       "      <th>mcse_sd</th>\n",
       "      <th>ess_bulk</th>\n",
       "      <th>ess_tail</th>\n",
       "      <th>r_hat</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Intercept</th>\n",
       "      <td>-1.614</td>\n",
       "      <td>0.361</td>\n",
       "      <td>-2.300</td>\n",
       "      <td>-0.943</td>\n",
       "      <td>0.006</td>\n",
       "      <td>0.006</td>\n",
       "      <td>3901.0</td>\n",
       "      <td>2829.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>livebait[1]</th>\n",
       "      <td>1.657</td>\n",
       "      <td>0.332</td>\n",
       "      <td>1.067</td>\n",
       "      <td>2.304</td>\n",
       "      <td>0.005</td>\n",
       "      <td>0.006</td>\n",
       "      <td>4551.0</td>\n",
       "      <td>2620.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>camper[1]</th>\n",
       "      <td>0.270</td>\n",
       "      <td>0.099</td>\n",
       "      <td>0.076</td>\n",
       "      <td>0.449</td>\n",
       "      <td>0.001</td>\n",
       "      <td>0.002</td>\n",
       "      <td>5652.0</td>\n",
       "      <td>2655.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>persons</th>\n",
       "      <td>0.612</td>\n",
       "      <td>0.045</td>\n",
       "      <td>0.527</td>\n",
       "      <td>0.695</td>\n",
       "      <td>0.001</td>\n",
       "      <td>0.001</td>\n",
       "      <td>4422.0</td>\n",
       "      <td>2556.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>child</th>\n",
       "      <td>-0.791</td>\n",
       "      <td>0.098</td>\n",
       "      <td>-0.977</td>\n",
       "      <td>-0.609</td>\n",
       "      <td>0.001</td>\n",
       "      <td>0.001</td>\n",
       "      <td>4396.0</td>\n",
       "      <td>3053.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>psi_Intercept</th>\n",
       "      <td>-2.793</td>\n",
       "      <td>0.586</td>\n",
       "      <td>-3.940</td>\n",
       "      <td>-1.739</td>\n",
       "      <td>0.008</td>\n",
       "      <td>0.008</td>\n",
       "      <td>5258.0</td>\n",
       "      <td>3247.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>psi_livebait[1]</th>\n",
       "      <td>0.779</td>\n",
       "      <td>0.439</td>\n",
       "      <td>0.010</td>\n",
       "      <td>1.646</td>\n",
       "      <td>0.005</td>\n",
       "      <td>0.008</td>\n",
       "      <td>6921.0</td>\n",
       "      <td>2841.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>psi_camper[1]</th>\n",
       "      <td>0.850</td>\n",
       "      <td>0.303</td>\n",
       "      <td>0.255</td>\n",
       "      <td>1.383</td>\n",
       "      <td>0.004</td>\n",
       "      <td>0.005</td>\n",
       "      <td>5325.0</td>\n",
       "      <td>3033.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>psi_persons</th>\n",
       "      <td>1.042</td>\n",
       "      <td>0.178</td>\n",
       "      <td>0.711</td>\n",
       "      <td>1.376</td>\n",
       "      <td>0.003</td>\n",
       "      <td>0.003</td>\n",
       "      <td>3965.0</td>\n",
       "      <td>2976.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>psi_child</th>\n",
       "      <td>-2.009</td>\n",
       "      <td>0.279</td>\n",
       "      <td>-2.517</td>\n",
       "      <td>-1.456</td>\n",
       "      <td>0.004</td>\n",
       "      <td>0.005</td>\n",
       "      <td>4025.0</td>\n",
       "      <td>3216.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  mean     sd  hdi_3%  hdi_97%  mcse_mean  mcse_sd  ess_bulk  \\\n",
       "Intercept       -1.614  0.361  -2.300   -0.943      0.006    0.006    3901.0   \n",
       "livebait[1]      1.657  0.332   1.067    2.304      0.005    0.006    4551.0   \n",
       "camper[1]        0.270  0.099   0.076    0.449      0.001    0.002    5652.0   \n",
       "persons          0.612  0.045   0.527    0.695      0.001    0.001    4422.0   \n",
       "child           -0.791  0.098  -0.977   -0.609      0.001    0.001    4396.0   \n",
       "psi_Intercept   -2.793  0.586  -3.940   -1.739      0.008    0.008    5258.0   \n",
       "psi_livebait[1]  0.779  0.439   0.010    1.646      0.005    0.008    6921.0   \n",
       "psi_camper[1]    0.850  0.303   0.255    1.383      0.004    0.005    5325.0   \n",
       "psi_persons      1.042  0.178   0.711    1.376      0.003    0.003    3965.0   \n",
       "psi_child       -2.009  0.279  -2.517   -1.456      0.004    0.005    4025.0   \n",
       "\n",
       "                 ess_tail  r_hat  \n",
       "Intercept          2829.0    1.0  \n",
       "livebait[1]        2620.0    1.0  \n",
       "camper[1]          2655.0    1.0  \n",
       "persons            2556.0    1.0  \n",
       "child              3053.0    1.0  \n",
       "psi_Intercept      3247.0    1.0  \n",
       "psi_livebait[1]    2841.0    1.0  \n",
       "psi_camper[1]      3033.0    1.0  \n",
       "psi_persons        2976.0    1.0  \n",
       "psi_child          3216.0    1.0  "
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "az.summary(\n",
    "    hurdle_idata,\n",
    "    var_names=[\"Intercept\", \"livebait\", \"camper\", \"persons\", \"child\"], \n",
    "    filter_vars=\"like\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Posterior predictive samples\n",
    "\n",
    "As with the ZIP model above, we plot the posterior predictive distribution against the observed data to see how well the model fits the data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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kpKSYG1tXeJxA4CbmxsePHiAihUr4v79+xrVMbG2R+azpzC2skNG8pNSiYuIiIjKVnJyMmxsbDTKO4p1jZq7uzvOnj2L0NBQXL9+HUII1K5dGx06dChWwJq4c+cODh48iO3btxdazsXFBZ6enoiKiiqwjFwuh1wuL+kQiYiIiEqUVkOfhw8fRu3ataVrujp27IiPPvoI48aNQ5MmTVCnTh38+eefpRJoSEgInJyc0LVr10LLPXnyBPfu3YOLi0upxEFERERUVrRK1JYuXYpRo0bl201nY2ODDz74AEuWLCmx4HKoVCqEhIRg2LBhMDL6fyfg8+fPMXnyZISFhSEmJgZHjx5F9+7d4eDggN69e5d4HERERERlSatE7cKFC+jcuXOByzt16oTIyMhXDiq3gwcP4u7duxg+fLjafENDQ1y6dAk9e/ZE9erVMWzYMFSvXh1hYWGwsrIq8TiIiIiIypJW16g9evQo38dySI0ZGZX4mwmA7AQwv3sezMzMcODAgRJfHxEREZE+0KpHrWLFirh06VKByy9evMhrw4iIiIhKiFaJWpcuXTBjxgykpaXlWfbixQsEBQWhW7duJRYcERERUXmm1dDnF198ge3bt6N69eoYO3YsatSoAZlMhmvXrmHFihVQKpX4/PPPSytWIiIionJFq0TN2dkZp06dwujRozFt2jTpujGZTAZ/f3+sXLkSzs7OpRIoERERUXmj9QNvPT09sW/fPiQkJODmzZsQQqBatWqwtbUtjfiIiIiIyq1ivZkAAGxtbdGkSZOSjIWIiIiIXlKsl7ITERERUeljokZERESkp5ioEREREekpJmpEREREeoqJGhEREZGeYqJGREREpKeYqBERERHpKSZqRERERHqKiRoRERGRnmKiRkRERKSnmKgRERER6SkmakRERER6iokaERERkZ5iokZERESkp5ioEREREekpJmpEREREeoqJGhEREZGeYqJGREREpKf0OlELDg6GTCZTmxQKhbRcCIHg4GC4urrCzMwMfn5+uHLlig4jJiIiIio5ep2oAUCdOnUQGxsrTZcuXZKWLVy4EEuWLMG3336LM2fOQKFQoGPHjnj27JkOIyYiIiIqGXqfqBkZGUGhUEiTo6MjgOzetKVLl+Lzzz9Hnz59ULduXaxfvx6pqanYtGmTjqMmIiIienV6n6hFRUXB1dUVXl5eGDhwIG7fvg0AiI6ORlxcHDp16iSVlcvl8PX1xalTpwptMz09HcnJyWoTERERkb7R60StWbNm+PHHH3HgwAF8//33iIuLQ8uWLfHkyRPExcUBAJydndXqODs7S8sKMm/ePNjY2EiTu7t7qW0DERERUXHpdaIWEBCAvn37wtvbGx06dMDevXsBAOvXr5fKyGQytTpCiDzzcps2bRqSkpKk6d69eyUfPBEREdEr0utELTcLCwt4e3sjKipKuvszd+9ZfHx8nl623ORyOaytrdUmIiIiIn3zWiVq6enpuHbtGlxcXODl5QWFQoHQ0FBpeUZGBo4dO4aWLVvqMEoiIiKikmGk6wAKM3nyZHTv3h0eHh6Ij4/HnDlzkJycjGHDhkEmk2HChAmYO3cuqlWrhmrVqmHu3LkwNzfHoEGDdB06ERER0SvT60Tt/v37eOedd/DPP//A0dERzZs3R3h4ODw9PQEAU6ZMwYsXL/Dhhx8iISEBzZo1wx9//AErKysdR05ERET06mRCCKHrIHQtOTkZNjY2SEpKKrXr1dzc3PDgwQNUrFgR9+/f16iOibU9Mp89hbGVHTKSn5RKXERERFS2tMk7Xqtr1IiIiIjKEyZqRERERHqKiRoRERGRnmKiRkRERKSnmKgRERER6SkmakRERER6iokaERERkZ5iokZERESkp5ioEREREekpJmpEREREeoqJGhEREZGeYqJGREREpKeYqBERERHpKSZqRERERHqKiRoRERGRnmKiRkRERKSnmKgRERER6SkmakRERER6iokaERERkZ4y0nUAVLTM54lwc3PTqo5CoUBEREQpRURERERlgYna60Co8ODBA11HQURERGWMiZoeM7aoAJVKwMBABidrM43qxMbGQqVSlXJkREREVBaYqOmx2iMWIi4xFYoK5jgzp69Gddzc3Nj7RkRE9IbgzQREREREeoqJGhEREZGe0utEbd68eWjSpAmsrKzg5OSEXr164caNG2plAgMDIZPJ1KbmzZvrKGIiIiKikqPXidqxY8cwZswYhIeHIzQ0FFlZWejUqRNSUlLUynXu3BmxsbHStG/fPh1FTERERFRy9Ppmgv3796t9DgkJgZOTEyIjI9GmTRtpvlwuh0Kh0Ljd9PR0pKenS5+Tk5NfPVgiIiKiEqbXPWq5JSUlAQDs7OzU5h89ehROTk6oXr06Ro0a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",
      "text/plain": [
       "<Figure size 700x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "hurdle_pps = hurdle_model.predict(idata=hurdle_idata, kind=\"response\", inplace=False)\n",
    "\n",
    "bins = np.arange(39)\n",
    "fig, ax = plt.subplots(figsize=(7, 3))\n",
    "ax = plot_ppc_discrete(hurdle_pps, bins, ax)\n",
    "ax.set_xlabel(\"Number of Fish Caught\")\n",
    "ax.set_ylabel(\"Count\")\n",
    "ax.set_title(\"Hurdle Model - Posterior Predictive Distribution\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The plot looks similar to the ZIP model above. Nonetheless, the plot shows that the model captures the overall distribution of counts reasonably well."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Summary\n",
    "\n",
    "In this notebook, two classes of models (ZIP and hurdle Poisson) for modeling zero-inflated data were presented and implemented in Bambi. The difference of the data generating process between the two models differ in how zeros are generated. The ZIP model uses a distribution that mixes two data generating processes. The first process generates zeros, and the second process uses a Poisson distribution to generate counts (of which some may be zero). The hurdle Poisson also uses two data generating processes, but doesn't \"mix\" them. A process is used for generating zeros such as a binary model for modeling whether the response variable is zero or not, and a second process for modeling the counts. These two proceses are independent of each other.\n",
    "\n",
    "The dataset used to demonstrate the two models had a large number of zeros. These zeros appeared because the group doesn't fish, or because they fished, but caught zero fish. Because zeros could be generated due to two different reasons, the ZIP model, which allows zeros to be generated from a mixture of processes, seems to be more appropriate for this datset."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Last updated: Sun Sep 28 2025\n",
      "\n",
      "Python implementation: CPython\n",
      "Python version       : 3.13.7\n",
      "IPython version      : 9.4.0\n",
      "\n",
      "bambi     : 0.14.1.dev58+gb25742785.d20250928\n",
      "arviz     : 0.22.0\n",
      "matplotlib: 3.10.6\n",
      "pandas    : 2.3.2\n",
      "scipy     : 1.16.2\n",
      "seaborn   : 0.13.2\n",
      "numpy     : 2.3.3\n",
      "\n",
      "Watermark: 2.5.0\n",
      "\n"
     ]
    }
   ],
   "source": [
    "%load_ext watermark\n",
    "%watermark -n -u -v -iv -w"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda env:base] *",
   "language": "python",
   "name": "conda-base-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
